#include "abstract_product.h"

#include <iostream>

AbstractProduct::AbstractProduct()
{}

AbstractProduct::~AbstractProduct()
{}

ProductA::ProductA()
{
	std::cout << "create ProductA instance" << std::endl;
}

ProductA::~ProductA()
{
	std::cout << "release ProductA instance" << std::endl;
}

void ProductA::Operation()
{
	std::cout << "ProductA operation" << std::endl;
}

ProductB::ProductB()
{
	std::cout << "create ProductB instance" << std::endl;
}

ProductB::~ProductB()
{
	std::cout << "release ProductB instance" << std::endl;
}

void ProductB::Operation()
{
	std::cout << "ProductB operation" << std::endl;
}